Multi-processor computing systems are becoming more and more popular for use in applications that require large amounts of processing power. In conventional multi-processor systems, multiple processors are used to perform tasks or processes in parallel. This allows, for example, the processors to execute different portions or “threads” of an application at the same time. Also, additional processors may be added to improve the performance of the computer system and to execute additional threads.
Many of the applications executed by conventional processor systems are implemented using object-oriented programming techniques. A problem with conventional multi-processor systems is that communications between objects are typically slow. This often reduces the performance of the processing systems.